﻿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        //构造函数 根据对象的属性 创建对象 动态添加属性 返回这个对象
        function Hero(name,age,sex,level) {
            this.age = age;
            this.name = name;
            this.level = level;
            this.sex = sex;
            this.play = function (skill) {
                console.log(`一技能是${skill}`);
            }
        }
        let bai = new Hero(`白`, 18, `女`, 18);
        console.log(bai);

        /*
         总结
           构造函数就是类
           通过类这个模块 可以创造对象
           类是对象公共属性和方法的抽取

         构造函数
             作用创造对象
             返回值就是一个对象 默认省略
             封装的代码是给对象多态的添加属性和方法
             this是当前对象
             函数名用大驼峰
             配合关键字 new 使用
             构造函数和类是一码事
             就是对象公共属性方法的抽取
             属性名尽量和形参保持一直 可读性强
         约定大于规范 规范大于编码
         */
    </script>
    
</body>
</html>